<?php

class ProductController extends Controller
{
	public function actionDetail()
	{
		$this->render('detail');
	}
   
   public function actionCreate(){
      $model = new Product();
      $model->type = 0;
      $logged = isset($_COOKIE['logged']) ? json_decode($_COOKIE['logged'],true) : null;
      if($logged != null){
         $user_info = User::model()->findByAttributes(array(
            'email' => $logged['email'],
            'password' => $logged['password'],
         ));
      }
      if(is_null($user_info)){
         Yii::app()->user->setFlash('error','Bạn vui lòng đăng nhập trước khi thực hiện hành động này');
      }else{
         if($user_info->city_id == null || $user_info->district_id ==  null || $user_info->phone_number == null){
            Yii::app()->user->setFlash('error','Bạn vui lòng cập nhật một số thông tin liên hệ trước khi đăng tin');
            $rel = Yii::app()->request->requestUri;
            $this->redirect('/user/info?rel='.urlencode($rel));   
         }else{
            if(isset($_POST['Product'])){
               $model->attributes = $_POST['Product'];
               $model->price = intval(str_replace(".","",$model->price));
               $model->user_id = $user_info->id;
               if($model->validate()){
                  $model->save();
                  Yii::app()->user->setFlash('success','Tin của bạn đã được đăng thành công và đang chờ ban quản trị website kiểm duyệt');
               }
               $product_images = $_POST['Product_image'];
               if(isset($product_images) && count($product_images) > 0){ //Nếu người dùng upload ảnh lên
                  $i = 0;
                  foreach($product_images as $image){
                     $i++;
                     if($i == 1){ // Chọn ảnh đầu tiên làm ảnh đại diện
                        $model->avatar = $image;
                     }
                     
                     $product_image_model = new ProImage();
                     $product_image_model->pro_id = $model->id;
                     $product_image_model->img = $image;
                     $product_image_model->save();
                  }
                  // Cập nhật lại avatar
                  $model->save();
               }
               
               $model->unsetAttributes();
               
            }
         }
      }
      
      
      
      $this->render('create',array(
         'model' => $model,
         'user_info' => $user_info,
      ));
   }
   
   public function actionUploadImage(){
      $date_folder = date('Y').'/'.date('m');
      $relative_path = '/uploads/'.$date_folder.'/';
      $path_save_image = Yii::getPathOfAlias('webroot').$relative_path;
      $data = array(
         'image' => '',
         'path'  => $relative_path,
      );
      //echo $path_save_image;die();
      if(!is_dir($path_save_image)){
         mkdir($path_save_image,0777,true);
      }
      
      if ( 0 < $_FILES['file']['error'] ) {
        echo 'Error: ' . $_FILES['file']['error'] . '<br>';
      }
      else {
         $tmp_name = CVietnameseTools::makeUrlFriendly($_FILES['file']['name']);
         $exploded = explode('.',$tmp_name);
         $new_name = $exploded[0].'-'.date('Ym').rand(111,999).'.'.$exploded[1];
         if(move_uploaded_file($_FILES['file']['tmp_name'],$path_save_image. $new_name)){
            $data['image'] = $new_name;
         }
      }
      echo json_encode($data);
   }

	// Uncomment the following methods and override them if needed
	/*
	public function filters()
	{
		// return the filter configuration for this controller, e.g.:
		return array(
			'inlineFilterName',
			array(
				'class'=>'path.to.FilterClass',
				'propertyName'=>'propertyValue',
			),
		);
	}

	public function actions()
	{
		// return external action classes, e.g.:
		return array(
			'action1'=>'path.to.ActionClass',
			'action2'=>array(
				'class'=>'path.to.AnotherActionClass',
				'propertyName'=>'propertyValue',
			),
		);
	}
	*/
}